Skip to content

Drop dev deps redundant with policyengine-core (#920)#1695

Open
vahid-ahmadi wants to merge 2 commits into
mainfrom
vahid-ahmadi/issue-920-remove-redundant-deps
Open

Drop dev deps redundant with policyengine-core (#920)#1695
vahid-ahmadi wants to merge 2 commits into
mainfrom
vahid-ahmadi/issue-920-remove-redundant-deps

Conversation

@vahid-ahmadi
Copy link
Copy Markdown
Collaborator

Summary

  • Closes Remove deps that are redundant with policyengine-core #920.
  • Mirrors the cleanup done on the US side in Simplify setup.py install_requires and extras_require lists policyengine-us#4859.
  • Removes six dev deps that policyengine-core already supplies — pytest and wheel ride along as core runtime deps; ruff, coverage, pytest-cov and towncrier are in core's own dev extras with at-least-as-tight constraints.
  • Leaves UK-specific dev tooling (furo<2023, tqdm, setuptools, sphinx-argparse, sphinx-math-dollar, snowballstemmer, jupyter-book>=2.0.0a0, rich) in place since core either doesn't ship them or ships incompatible major versions (e.g. jupyter-book<1 vs the v2 alpha UK uses).
  • Runtime deps untouched: the UK package still pins microdf-python>=1.2.1, pydantic>=2.11.7 and tables directly because their version requirements diverge from core or aren't in core at all.

Test plan

  • pip install -e ".[dev]" resolves cleanly.
  • ruff, pytest, towncrier remain on PATH transitively.
  • python -m pytest policyengine_uk/tests/microsimulation/test_abolish_council_tax_reform.py -v passes.

🤖 Generated with Claude Code

policyengine-core already pulls in pytest and wheel as runtime deps and
ruff, coverage, pytest-cov and towncrier through its dev extras, so listing
them again here only adds maintenance overhead. Mirrors the pattern in the
US package (policyengine-us#4859).
The previous commit removed these on the assumption that policyengine-core
would bring them in. That was wrong: they're in core's *dev* extras, and
pip does NOT install extras-of-dependencies transitively. CI broke with
"pytest: error: unrecognized arguments: --cov=..." because pytest-cov
wasn't installed.

What core actually brings in transitively (runtime deps):
- pytest<9,>=8
- wheel<1

So pytest and wheel can stay removed; the other four need to come back.
Updated the comment in pyproject.toml to be explicit about the
extras-not-installed-transitively rule, and corrected the changelog.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove deps that are redundant with policyengine-core

1 participant